using Sheep_Breeding.ErrorCode;
using Sheep_Breeding.Write.Api.production_a_DTO;

namespace Sheep_Breeding.Write.Api.OperationServices.IServices
{
    /// <summary>
    /// 母羊配种服务接口
    /// </summary>
    public interface IEweMatingServices
    {
        /// <summary>
        /// 新增母羊配种记录
        /// </summary>
        /// <param name="dto">母羊配种新增DTO</param>
        /// <returns>操作结果</returns>
        Task<ApiResult> AddEweMating(AddEweMatingDto dto);
        /// <summary>
        /// 批量新增母羊配种
        /// </summary>
        /// <param name="batchDto">批量新增DTO</param>
        /// <returns>操作结果</returns>
        Task<ApiResult> AddEweMatingBatch(AddEweMatingBatchDto batchDto);
        /// <summary>
        /// 根据配种编号进行逻辑删除
        /// </summary>
        /// <param name="breedingId">配种编号</param>
        /// <returns>操作结果</returns>
        Task<ApiResult> DeleteEweMating(string breedingId);
        /// <summary>
        /// 编辑母羊配种记录
        /// </summary>
        /// <param name="dto">编辑DTO</param>
        /// <returns>操作结果</returns>
        Task<ApiResult> UpdateEweMating(UpdateEweMatingDto dto);
        /// <summary>
        /// 主表+明细表联合添加
        /// </summary>
        Task<ApiResult> AddEweMatingWithDetails(AddEweMatingWithDetailsDto dto);
    }
} 